package org.hard.model.create.prototype;

import lombok.Data;

/**
 * @author: 王林博
 * @date: 2023年02月11日 9:48
 */
// 基础原型。
public abstract class Shape {


    Integer x;
    Integer y;
    String color;
    // 常规构造函数
    Shape(){

    }

    // 原型构造函数。使用已有对象的数值来初始化一个新对象。
    Shape(Shape shape){
        this();
        this.x = shape.x;
        this.y = shape.y;
        this.color = shape.color;
    }

    // clone（克隆）操作会返回一个形状子类。
    public abstract Shape clone();
}
